<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>知云——针对编程的个性化学习推荐系统</title>
    <%
        pageContext.setAttribute("APP_PATH", request.getContextPath());
    %>

    <base href="${APP_PATH}">
    <link rel="shortcut icon" type="image/x-icon" href="${APP_PATH}/static/favicon.ico"/>
    <link rel="stylesheet" href="${APP_PATH}/static/css/bootstrap.min.css">
    <link rel="stylesheet" href="${APP_PATH}/static/css/toastr.min.css">
    <link rel="stylesheet" href="${APP_PATH}/static/css/offcanvas.css">
    <link rel="stylesheet" href="${APP_PATH}/static/css/fontawesome.min.css">


</head>
<body>

<jsp:include page="${APP_PATH}/common/head-blog.jsp"/>
<%--用户个人博客管理页面--%>
<c:choose>
    <c:when test="${not empty user}">
        <%--用户已登陆--%>
        <div class="mt-2 col-sm-12 col-md-12 col-lg-9" id="defaultDiv" data-id="${user.id}" style="margin-left: auto;margin-right: auto;">
            <div class="d-flex p-3 bg-white mb-2 rounded shadow-sm">
                <div class="flex-fill text-center"><a href="#" class="text-danger"><i class="fa fa-paper-plane"></i>文章管理</a></div>
                <div class="flex-fill text-center"><a href="/blog-type" class="text-dark"><i class="fa fa-table"></i>类别管理</a></div>
                <div class="flex-fill text-center"><a href="/blog-comment" class="text-dark"><i class="fa fa-comments"></i>评论管理</a></div>
                <div class="flex-fill text-center"><a href="/blog-write" class="text-dark"><i class="fa fa-arrow-circle-right"></i>写文章</a></div>
            </div>

            <div id="searchDiv" class="bg-white p-3 rounded shadow-sm">
                <form class="border-bottom border-gray p-2">
                    <div class="form-inline">
                        <input id="userId" type="hidden" value="${user.id}">
                        <input id="searchContent" type="text" maxlength="10" class="form-control form-control-sm" placeholder="开始搜索我的博客">
                        <a id="btn-search" class="btn btn-sm btn-outline-danger ml-2">搜索</a>
                        <a href="/blog-all" class="btn btn-sm btn-outline-secondary ml-2">返回</a>
                    </div>
                </form>
                    <%--搜索结果--%>
                <div id="searchResult">

                </div>
            </div>

            <div id="blog-page-nav" class="pt-2 pl-3 pb-1">

            </div>
        </div>
    </c:when>
    <c:otherwise>
        <%--没有登录，提示用户--%>
        <div class="offset-lg-4 col-lg-4 col-md-12 col-sm-12">
            <div class="alert-warning p-3">
                <h4>您还没有登录，请先<a href="/login">登录</a></h4>
            </div>
        </div>
    </c:otherwise>
</c:choose>
<div class="p-4"></div>

<script src="${APP_PATH}/static/js/jquery-3.3.1.min.js"></script>
<script src="${APP_PATH}/static/js/bootstrap.min.js"></script>
<script src="${APP_PATH}/static/js/toastr.min.js"></script>
<script src="${APP_PATH}/static/js/offcanvas.js"></script>
<script>
    //过滤html标签
    function delHtmlTag(str) {
        return str.replace(/<[^>]+>/g, "");//去掉所有的html标记
    }

    function buildPage(result,userId,keyword) {
        //1.文章数据
        //先清空原来的数据
        $("#searchResult").empty();
        $.each(result.extend.pageInfo.list, function (index, item) {
            var $div_out = $("<div data-blogId='" + item.id + "' class='border-bottom border-secondary'>");
            //标题
            var $h5 = $("<h5 class='font-weight-bold border-bottom border-light'>").append($("<a class='text-dark' href='/blog/" + item.id + "'>").append(item.blogtitle));
            //内容
            var $div_center = $("<div style='position: relative;'>");
            //内容截取并过滤html标签
            var content = item.blogcontent;
            content = delHtmlTag(content);
            content = content.substr(0, 200);

            var $div_content = $("<div style='word-wrap: break-word;'>").append(content);
            var $div_inner = $("<div>");
            //底部信息条
            var $span1 = $("<span class='text-sm-left text-secondary'>").append(new Date(item.edittime).toLocaleString());
            var $span2 = $("<span class='text-sm-left text-success ml-2'>").append($("<i class='fa fa-arrow-up'>")).append(item.upvotenum);
            var $span3 = $("<span class='text-sm-left text-danger ml-2'>").append($("<i class='fa fa-arrow-down'>")).append(item.downvotenum);
            var $div_right_span = $("<div style='position:absolute;right:4px;bottom:4px' ></div>").append($span2).append($span3);
            $div_out.append($h5).append($div_center.append($div_content).append($div_inner.append($span1)).append($div_right_span)).appendTo($("#searchResult"));
        });

        //分页导航条
        $("#blog-page-nav").empty();
        var ul = $("<ul></ul>").addClass("pagination");
        //遍历给ul中添加页码提示
        $.each(result.extend.pageInfo.navigatepageNums, function (index, item) {

            var numLi = $("<li class='page-item'></li>").append($("<a class='btn btn-sm btn-outline-primary mr-2'></a>").append(item));
            if (result.extend.pageInfo.pageNum === item) {
                //当前页按钮，不可点击
                numLi.find("a").removeClass("btn-outline-primary");
                numLi.find("a").addClass("disabled");
                numLi.find("a").addClass("btn-primary");
            }
            numLi.click(function () {
                to_page(userId,keyword,item);
            });
            ul.append(numLi);
        });
        ul.appendTo($("#blog-page-nav"));
    }

    //用户id，关键字，页码
    function to_page(userId, keyword, pn) {
        $.ajax({
            url: '/getBlogsByUserAndSearch',
            data: {userId: userId, keyword: keyword, pn: pn},
            type: 'GET',
            success: function (result) {
                if (result.code === 100) {
                    if (result.extend.pageInfo.list.length > 0) {
                        buildPage(result,userId,keyword);
                    } else {
                        $("#searchResult").empty();
                        $("<div class='bg-warning p-3'>").append($("<h4>未找到相关的博客，请重新搜索！</h4>")).appendTo($("#searchResult"));
                        toastr.info("未找到相关的博客");
                    }
                } else {
                    toastr.error("搜索失败，请重试！");
                }
            }
        });
    }

    //点击搜索按钮
    $("#btn-search").click(function (result) {
        //校验关键字
        var keyword = $("#searchContent").val();
        var userId = $("#userId").val();
        if (keyword) {
            to_page(userId, keyword, 1);
        } else {
            toastr.error("请输入关键字！");
        }
    });

</script>

</body>

</html>
